The techniques of transmission in systems comprising multiple antennas have many advantages.
In particular, these techniques make it possible to attain an increased transmission capacity by augmenting the spectral efficiency in the transmission channel through the use of space/time codes. These space/time codes can be used especially to distribute the modulated symbols on the different degrees of freedom of the channel.
FIG. 1 provides a more precise illustration of a transmission scheme in a multi-antenna system.
On the sending side, a binary source signal 10 to be sent undergoes a source encoding 11 and then a channel encoding 12. It then goes through a modulation module 13 designed to convert binary elements into complex symbols: such a module thus associates a complex signal, belonging to a constellation (of the QAM type for example), with a group of bits. Then, a space/time encoding 14 of each group of K symbols is performed and these symbols are then sent on nt sending antennas 151 to 15nt in a MIMO type transmission context.
The signal is then conveyed through a transmission channel and then received on the nr receiving antennas 161 to 16nr. Each receiving antenna receives a linear combination of the symbols sent on each of the nt sending antennas. This linear combination corresponds to a segmentation of the sent signal in multiple layers (in other words: streams, or beams).
The received signal can be thus represented by a linear transformation plus an additive noise vector B. Each layer carries one symbol xi that is selected from the constellation used during the modulation.
Considering that a received layer i is a channel vector Hi times the symbol xi. The received vector Y, comprising N layers is:
Y=H0x0+H1x1+ . . . +B, where Y, B and the Hi for iε[0,N−1] are vectors of size nr×1 where nr is the number of receiving antennas. The covariance matrix of the noise B is denoted by matrix C.
At the receiver, the channel vector Hi is known (via special pilots and channel estimation) but the symbol xi is unknown.
Thus, the received signal Y is first of all decoded in a space/time decoding module 17 applying a processing operation corresponding to a reverse of the space/time encoding applied when sending.
The layer separation is then achieved by an equalizer or detector (not represented) of the decoding block 17. Given the received vector Y the equalizer aims at finding the symbol xi of each layer i, from the transmitter's constellation of symbols, that minimizes the distance between the two vectors ∥Y−Hx∥2 i.e. the hypothetical transmitted candidate (without noise) that is the nearest to the received vector. When the noise is taken into account, the minimum distance is weighted by the inverse noise covariance matrix C−1.
The equalized signal at output of the space/time decoding block 17 is then fed into a demodulation module 18 and undergoes operations of channel decoding 19 and source decoding 20, delivering an estimated binary signal.
Unfortunately, owing to the use of several antennas, the decoding of the received signals is particularly complex.
Indeed, the multiple layers are usually orthogonal at the transmitter side where they are linearly combined. But at the receiver side, if the channel conditions are non-ideal, they can arrive as non-orthogonal vectors (after transformation by the channel matrix applied to each vector). Interference between the layers arises in this case.
Using known methods for equalizing, the receiver tries to separate the layers in order to simplify the subsequent processing of each layer or subgroup of layers.
However, the complexity of these known methods for equalizing greatly increases depending on the number of antennas and the number of modulation states.
Some solutions have been proposed to reduce especially the cost of complexity of the equalizer. Among these solutions the Zero-Forcing (ZF) or the Minimum Mean Squared Error (MMSE) equalizers have been proposed.
The Zero-Forcing equalizer decodes a layer of interest while ignoring all other interfering layers (as if a unique layer were transmitted), an “interfering layer” being a layer which contains lots of interference. The Minimum Mean Squared Error equalizer decodes a layer of interest while assuming that all other interfering layers have Gaussian distribution and behave like noise.
These two techniques, respectively ignoring all other interfering layers or assuming that all other interfering layers have Gaussian distribution, do not correspond to the reality and are thus less efficient in terms of performance.
Thus, in order to obtain high decoding performance, it is necessary to use an optimal decoding technique, in terms of maximum likelihood decoding in the decoding module 17.
Indeed Maximum Likelihood Detector (MLD) method for equalizing takes into account the true distribution of each interfering layer, i.e. its constellation. Thus, using such a method leads to an increase in decoding performance but at the cost of an increase of complexity since all the possible values of the constellation of each layer are tested. As a consequence, when using a maximum likelihood detector, the overall number of possible values to test grows exponentially with the number of layers.
Indeed, state of the art solutions implementing a Maximum Likelihood Detector (MLD) method for equalizing correspond for example to the known sphere decoding, Lenstra-Lenstra-Lovász (LLL) reduction, or a decomposition transforming the channel matrix into a triangular matrix with plenty of zeros called the QR decomposition, methods.
However, such state of the art solutions implementing a Maximum Likelihood Detector (MLD) method for equalizing presents some known drawbacks.
A first drawback of such methods is the complexity that is involved when considering a small number of layers. Indeed, all the symbols of each constellation of each layer have to be processed for finding the best candidate symbol. In addition, such methods are not really suitable for a hardware implementation.
In addition, such methods does not propose efficient solutions for dealing with interference mitigation (where noise is colored, e.g. unknown interfering layers, and for example represented by a colored noise covariance matrix is C=EBBH(nr×nr) with E the expectation operator, i.e. averaging over all possible realizations. Indeed, in such methods a noise pre-whitening is performed, which involves an additional step and as a consequence an increase of the complexity of the process.